package com.fast.develop.management;


import com.fast.develop.management.resource.vo.ResourceVo;
import com.fast.develop.management.resource.vo.TreeVo;

import java.util.List;

/**
 * @author 莫寅
 * @createTime 2022-06-12 13:21
 * @desc：
 */
public interface ResourceTreeManager {


    /**
     * 获取资源树
     * @return
     */
    public List<TreeVo<ResourceVo>> getResourceTree();

    /**
     * 是否可用
     * @param pResourceName
     * @return
     */
    public boolean isAvailable(final String pResourceName);

    /**
     * 读取文件内容
     * @param path
     * @return
     */
    public String read(String path);


    /**
     * 创建文件夹
     * @param path
     */
    public void createFolder(String path);

    /**
     * 创建文件
     * @param path
     */
    public void createFile(String path);


    /**
     * 写入数据
     * @param name
     * @param value
     */
    public void write(String name, String value);

    /**
     * 重命名
     * @param path
     * @param newName
     */
    public String rename(String path, String newName);

    /**
     * 删除
     * @param path
     */
    public void remove(String path);

    /**
     * 获取schema管理器
     * @return
     */
    public SchemaManager getSchemaManager();
}
